🎖️GitЯра🎖️
.github/workflows/scheduled-updates.yml b4afe22030b1b47f9b48964696dcfc30373327c8 (b4afe220) Text, 6.03 KB
Tff7b72nameTb4b4b4: Ta5d6ffScheduledTa5d6ff Ta5d6ffUpdatesTa5d6ff Ta5d6ff(Firmware,Ta5d6ff Ta5d6ffHardware,Ta5d6ff Ta5d6ffTranslations)
Tff7b72onTb4b4b4:
Tff7b72scheduleTb4b4b4:
Tb4b4b4- Tff7b72cronTb4b4b4: Ta5d6ff'Ta5d6ff0Te6edf3 Ta5d6ff*Te6edf3 Ta5d6ff*Te6edf3 Ta5d6ff*Te6edf3 Ta5d6ff*Ta5d6ff' T8b949e# Run every hour
Tff7b72workflow_dispatchTb4b4b4: T8b949e# Allow manual triggering
Tff7b72jobsTb4b4b4:
Tff7b72update_assetsTb4b4b4:
Tff7b72runs-onTb4b4b4: Ta5d6ffubuntu-latest
Tff7b72ifTb4b4b4: Ta5d6ffgithub.repositoryTa5d6ff Ta5d6ff==Ta5d6ff Ta5d6ff'meshtastic/Meshtastic-Android'
Tff7b72permissionsTb4b4b4:
Tff7b72contentsTb4b4b4: Ta5d6ffwrite T8b949e# To commit files and push branches
Tff7b72pull-requestsTb4b4b4: Ta5d6ffwrite T8b949e# To create pull requests
Tff7b72stepsTb4b4b4:
Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffCheckoutTa5d6ff Ta5d6ffrepository
Tff7b72usesTb4b4b4: Ta5d6ffactions/checkout@v6
Tff7b72withTb4b4b4:
Tff7b72tokenTb4b4b4: Ta5d6ff${{Ta5d6ff Ta5d6ffsecrets.CROWDIN_GITHUB_TOKENTa5d6ff Ta5d6ff}}
Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffUpdateTa5d6ff Ta5d6fffirmwareTa5d6ff Ta5d6ffreleasesTa5d6ff Ta5d6fflist
Tff7b72runTb4b4b4: Tb4b4b4|
Tff7b72firmware_file_path="app/src/main/assets/firmware_releases.json"
Tff7b72temp_firmware_file="/tmp/new_firmware_releases.json"
Tff7b72echo "Fetching latest firmware releases..."
Tff7b72curl -s --fail https://api.meshtastic.org/github/firmware/list > "$temp_firmware_file"
Tff7b72if ! jq empty "$temp_firmware_file" 2>/dev/null; then
Tff7b72echo "::error::Firmware API returned invalid JSON data. Skipping firmware update."
Tff7b72else
Tff7b72if [ ! -f "$firmware_file_path" ] || ! jq --sort-keys . "$temp_firmware_file" | diff -q - <(jq --sort-keys . "$firmware_file_path"); then
Tff7b72echo "Changes detected in firmware list or local file missing. Updating $firmware_file_path."
Tff7b72cp "$temp_firmware_file" "$firmware_file_path"
Tff7b72else
Tff7b72echo "No changes detected in firmware list."
Tff7b72fi
Tff7b72fi
Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffUpdateTa5d6ff Ta5d6ffhardwareTa5d6ff Ta5d6fflist
Tff7b72runTb4b4b4: Tb4b4b4|
Tff7b72hardware_file_path="app/src/main/assets/device_hardware.json"
Tff7b72temp_hardware_file="/tmp/new_device_hardware.json"
Tff7b72echo "Fetching latest device hardware data..."
Tff7b72curl -s --fail https://api.meshtastic.org/resource/deviceHardware > "$temp_hardware_file"
Tff7b72if ! jq empty "$temp_hardware_file" 2>/dev/null; then
Tff7b72echo "::error::Hardware API returned invalid JSON data. Skipping hardware update."
Tff7b72else
Tff7b72if [ ! -f "$hardware_file_path" ] || ! jq --sort-keys . "$temp_hardware_file" | diff -q - <(jq --sort-keys . "$hardware_file_path"); then
Tff7b72echo "Changes detected in hardware list or local file missing. Updating $hardware_file_path."
Tff7b72cp "$temp_hardware_file" "$hardware_file_path"
Tff7b72else
Tff7b72echo "No changes detected in hardware list."
Tff7b72fi
Tff7b72fi
Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffSyncTa5d6ff Ta5d6ffwithTa5d6ff Ta5d6ffCrowdin
Tff7b72usesTb4b4b4: Ta5d6ffcrowdin/github-action@v2
Tff7b72withTb4b4b4:
Tff7b72base_urlTb4b4b4: Ta5d6ff'Ta5d6ffhttps://meshtastic.crowdin.com/api/v2Ta5d6ff'
Tff7b72configTb4b4b4: Ta5d6ff'Ta5d6ffcrowdin.ymlTa5d6ff'
Tff7b72crowdin_branch_nameTb4b4b4: Ta5d6ff'Ta5d6ffmainTa5d6ff'
Tff7b72upload_sourcesTb4b4b4: Ta5d6fftrue
Tff7b72upload_sources_argsTb4b4b4: Ta5d6ff'Ta5d6ff--preserve-hierarchyTa5d6ff'
Tff7b72upload_translationsTb4b4b4: Ta5d6fffalse
Tff7b72download_translationsTb4b4b4: Ta5d6fftrue
Tff7b72download_translations_argsTb4b4b4: Ta5d6ff'Ta5d6ff--preserve-hierarchyTa5d6ff'
Tff7b72create_pull_requestTb4b4b4: Ta5d6fffalse
Tff7b72commit_messageTb4b4b4: Ta5d6ff'Ta5d6ffchore(l10n):Te6edf3 Ta5d6ffNewTe6edf3 Ta5d6ffCrowdinTe6edf3 Ta5d6ffTranslationsTe6edf3 Ta5d6fffromTe6edf3 Ta5d6ffscheduledTe6edf3 Ta5d6ffupdateTa5d6ff'
Tff7b72push_translationsTb4b4b4: Ta5d6fffalse
Tff7b72push_sourcesTb4b4b4: Ta5d6fffalse
Tff7b72localization_branch_nameTb4b4b4: Ta5d6ff${{Ta5d6ff Ta5d6ffgithub.ref_nameTa5d6ff Ta5d6ff}}
Tff7b72envTb4b4b4:
Tff7b72GITHUB_TOKENTb4b4b4: Ta5d6ff${{Ta5d6ff Ta5d6ffsecrets.CROWDIN_GITHUB_TOKENTa5d6ff Ta5d6ff}}
Tff7b72CROWDIN_PROJECT_IDTb4b4b4: Ta5d6ff${{Ta5d6ff Ta5d6ffsecrets.CROWDIN_PROJECT_IDTa5d6ff Ta5d6ff}}
Tff7b72CROWDIN_PERSONAL_TOKENTb4b4b4: Ta5d6ff${{Ta5d6ff Ta5d6ffsecrets.CROWDIN_PERSONAL_TOKENTa5d6ff Ta5d6ff}}
Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffFixTa5d6ff Ta5d6fffileTa5d6ff Ta5d6ffpermissions
Tff7b72runTb4b4b4: Ta5d6ffsudoTa5d6ff Ta5d6ffchownTa5d6ff Ta5d6ff-RTa5d6ff Ta5d6ff$USER:$USERTa5d6ff Ta5d6ff.
Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffSetTa5d6ff Ta5d6ffupTa5d6ff Ta5d6ffJDKTa5d6ff Ta5d6ff17
Tff7b72usesTb4b4b4: Ta5d6ffactions/setup-java@v5
Tff7b72withTb4b4b4:
Tff7b72java-versionTb4b4b4: Ta5d6ff'Ta5d6ff17Ta5d6ff'
Tff7b72distributionTb4b4b4: Ta5d6ff'Ta5d6ffjetbrainsTa5d6ff'
Tff7b72envTb4b4b4:
Tff7b72GITHUB_TOKENTb4b4b4: Ta5d6ff${{Ta5d6ff Ta5d6ffsecrets.GITHUB_TOKENTa5d6ff Ta5d6ff}}
Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffSetupTa5d6ff Ta5d6ffGradle
Tff7b72usesTb4b4b4: Ta5d6ffgradle/actions/setup-gradle@v6
Tff7b72withTb4b4b4:
Tff7b72cache-encryption-keyTb4b4b4: Ta5d6ff${{Ta5d6ff Ta5d6ffsecrets.GRADLE_ENCRYPTION_KEYTa5d6ff Ta5d6ff}}
Tff7b72build-scan-publishTb4b4b4: Ta5d6fftrue
Tff7b72build-scan-terms-of-use-urlTb4b4b4: Ta5d6ff'Ta5d6ffhttps://gradle.com/terms-of-serviceTa5d6ff'
Tff7b72build-scan-terms-of-use-agreeTb4b4b4: Ta5d6ff'Ta5d6ffyesTa5d6ff'
Tff7b72add-job-summaryTb4b4b4: Ta5d6ffalways
Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffUpdateTa5d6ff Ta5d6ffGraphs
Tff7b72runTb4b4b4: Ta5d6ff./gradlewTa5d6ff Ta5d6ffgraphUpdate
Tff7b72continue-on-errorTb4b4b4: Ta5d6fftrue
Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffCreateTa5d6ff Ta5d6ffPullTa5d6ff Ta5d6ffRequestTa5d6ff Ta5d6ffifTa5d6ff Ta5d6ffchangesTa5d6ff Ta5d6ffoccurred
Tff7b72usesTb4b4b4: Ta5d6ffpeter-evans/create-pull-request@v8
Tff7b72withTb4b4b4:
Tff7b72tokenTb4b4b4: Ta5d6ff${{Ta5d6ff Ta5d6ffsecrets.CROWDIN_GITHUB_TOKENTa5d6ff Ta5d6ff}}
Tff7b72commit-messageTb4b4b4: Tb4b4b4|
Tff7b72chore: Scheduled updates (Firmware, Hardware, Translations, Graphs)
Tff7b72Automated updates for:
Tff7b72- Firmware releases list
Tff7b72- Device hardware list
Tff7b72- Crowdin source string uploads
Tff7b72- Crowdin translation downloads
Tff7b72- Module dependency graphs
Tff7b72titleTb4b4b4: Ta5d6ff'Ta5d6ffchore:Te6edf3 Ta5d6ffScheduledTe6edf3 Ta5d6ffupdatesTe6edf3 Ta5d6ff(Firmware,Te6edf3 Ta5d6ffHardware,Te6edf3 Ta5d6ffTranslations,Te6edf3 Ta5d6ffGraphs)Ta5d6ff'
Tff7b72bodyTb4b4b4: Tb4b4b4|
Tff7b72This PR includes automated updates from the scheduled workflow:
Tff7b72- Updated `firmware_releases.json` from the Meshtastic API (if changed).
Tff7b72- Updated `device_hardware.json` from the Meshtastic API (if changed).
Tff7b72- Source strings were uploaded to Crowdin.
Tff7b72- Latest translations were downloaded from Crowdin (if available).
Tff7b72- Updated module dependency graphs in README.md files (if changed).
Tff7b72Please review the changes.
Tff7b72branchTb4b4b4: Ta5d6ff'Ta5d6ffscheduled-updatesTa5d6ff'
Tff7b72baseTb4b4b4: Ta5d6ff'Ta5d6ffmainTa5d6ff'
Tff7b72delete-branchTb4b4b4: Ta5d6fftrue
Tff7b72add-pathsTb4b4b4: Tb4b4b4|
Tff7b72app/src/main/assets/firmware_releases.json
Tff7b72app/src/main/assets/device_hardware.json
Tff7b72fastlane/metadata/android/**
Tff7b72**/strings.xml
Tff7b72**/README.md
Tff7b72labelsTb4b4b4: Tb4b4b4|
Tff7b72automation
Tff7b72l10n
Tff7b72firmware
Tff7b72hardware
Tff7b72check-workflow-statusTb4b4b4:
Tff7b72nameTb4b4b4: Ta5d6ffCheckTa5d6ff Ta5d6ffWorkflowTa5d6ff Ta5d6ffStatus
Tff7b72runs-onTb4b4b4: Ta5d6ffubuntu-latest
Tff7b72needsTb4b4b4:
Tb4b4b4- Ta5d6ffupdate_assets
Tff7b72ifTb4b4b4: Ta5d6ffalways()
Tff7b72stepsTb4b4b4:
Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffCheckTa5d6ff Ta5d6ffWorkflowTa5d6ff Ta5d6ffStatus
Tff7b72ifTb4b4b4: Ta5d6ff"Ta5d6ffcontains(needs.*.result,Te6edf3 Ta5d6ff'failure')Te6edf3 Ta5d6ff||Te6edf3 Ta5d6ffcontains(needs.*.result,Te6edf3 Ta5d6ff'cancelled')Ta5d6ff"
Tff7b72runTb4b4b4: Tb4b4b4|
Tff7b72echo "One of the dependent jobs failed or was cancelled. Failing the workflow."
Tff7b72exit 1
Served by rngit 1.5.2 - Generated in 0.1s